/*
 * ================================================================================变量定义区
 */
var showCount = 10; //定义每页显示条数
var currentPage = 1;//全局变量，当前页
/*
 * ================================================================================页面初始化函数
 */
$(function()
{
	//获取查询参数	
	getQueryParam();
	//设置开始时间的默认时间
	var current_time = $('#endTime').val();
	var startTime = current_time.substring(0, current_time.indexOf(" ")+1) + "00:00:00";	
	$('#startTime').val(startTime);
	//获取页面类型
	var pageType = $("#pageType").val();
	//获取上次列表
	if(pageType === 'lastest'){
		getLastestListAndForm();
	}else{
		getCurrentList(currentPage);
	}
	//绑定回车事件
	document.onkeydown = function(e)
	{ 
	    var ev = document.all ? window.event : e;
		    
	    if(ev.keyCode==13) 
	    {
	    	queryData();
	    }
	};
	
	//加载datepicker插件
	$('#endTime').datetimepicker({
		dateFormat:'yy-mm-dd',
		timeFormat: 'HH:mm:ss'
	});
	
	//加载datepicker插件
	$('#startTime').datetimepicker({
		dateFormat:'yy-mm-dd',
		timeFormat: 'HH:mm:ss'
	});
		
});


/*
 * ================================================================================函数定义区
 * 
 */

/**
 * 判断变量是否为空
 * @param args 需要判断的变量
 */
function isNull(args)
{
	if(args==null)
	{
		return '';
	}
	else
	{
		return args;
	}
};


/**
 * 获取列表数据
 * @param currentPage 请求的页码
 */
function getDataList(param)
{
	$.ajax(
	{
		type: 'POST',
	    url: BASE_PATH +'/systemMonitor/exceptionMonitor/listPageData.do',
	    dataType:"json",
	    data:param,
	    cache:false,
	    success:function(data,textStatus)
	    {
	    	var html = "";        	
	        var pageData = data;
	        var totalResult = pageData.queryParam.totalResult;

	        if(pageData.queryResult != null)
	        {
        		//解析data, 组装成html
	        	$.each(pageData.queryResult,function(i,n)
		        {	
		        		html += '<tr onclick="chooseRow(this,false);"  id="tr_index_'+i+'">';
		        		html += '<input type="hidden" size=0 name="id" value="'+n.id+'"/>';
		        		html += '<td style="text-align: center;"title="'+ n.createTime +'">'+n.createTime + '</td>';  
		        		html += '<td title='+ n.expName +'>'+n.expName + '</td>';  
		        		html += '<td title='+n.requestURL+'>'+n.requestURL+'</td>';
		        		html += '<td title='+ n.expClass+'>' + n.expClass+'</td>'; 
		        		html += '<td title='+ n.expMethod+'>' +n.expMethod+'</td>'; 
		        		html += '<td title='+isNull(n.cnName)+'('+n.createUser+')'+'>'+isNull(n.cnName)+'('+n.createUser+')'+'</td>';  
		        		html += '<td style="width: 1px;   title=""></td></tr>';
		        });  
	        	
	        } 
        	else
        	{
        		html = '<tr><td colspan="2">No items.</td></tr>';
        	}
	       
        	
        	$('#tBodyList').html(html);
        	
        	//请求第一页时，同时初始化分页插件。
        	currentPage = param.currentPage;
        	
        	if(totalResult == 0)
        	{
        		$('#tBodyList').html('<tr><td style="text-align:center;">No items.</td></tr>');
        		$("#pagination").hide();
        	} 
        	else 
        	{
        		// 创建分页
        		$("#pagination").show();
        		$("#pagination").pagination(totalResult, 
        		{
        			num_edge_entries: 1, //边缘页数
        			num_display_entries: 3, //主体页数
        			current_page:currentPage,
        			callback: pageListCallback,
        			items_per_page:showCount //每页显示1项
        		});
        	}
        	chooseId = null;
        },
		error:function(e)
		{
			openAlert("加载数据错误！"); 
			 return;
		}
        
	});
}

/**
 * 查询按钮事件 
 */
function queryData()
{
	getCurrentList(1);
}

/**
 * 获取默认参数
 */
function getQueryParam()
{
	
    $.ajax(
    {
		type: 'POST',
	    url: BASE_PATH +'/systemMonitor/exceptionMonitor/getQueryParam.do',
	    dataType:"json",
	    cache:false,
	    async:false,
	    success: function(data)
	    {
	    	var html = $('#expName').html();
	    	
	    	$.each(data,function(i,n)
	    	{
	    		html += "<option value="+n+">"+n+"</option>";
	    	});
	    	$('#expName').html(html);
	    },
	    error : function()
	    {
	    	openAlert("加载数据错误");
	    }
    	
    });
}

/**
 * 获取默认参数
 */
function viewDetails()
{
	var id = getSelectedRows();
	var exceptionId = $("#"+id).find("input[name='id']").val();
	if(!id || id.length<1)
	{
		openAlert('请选择一条记录');
		return false;
	}
	setUnSearchFormParam();
	$("#viewDetails").find("input[name='exceptionId']").val(exceptionId);
	$("#viewDetails").submit();
}

/**
 * 分页数据回调函数
 * @param pageIndex 请求页
 */
function pageListCallback(pageIndex){
	getCurrentList(pageIndex);
}

/**
 * 设置未进行搜索的表单信息
 */
function setUnSearchFormParam(){
	//获取参数
	var param = SessionStorage.getSearchParam();
	//设置表单参数
	param.formParam ={
		endTime:$("#endTime").val(),
		startTime:$("#startTime").val(),
		expName:$("#expName").val(),
		requestURL:$("#requestURL").val(),
		expClassOrMethod:$("#expClassOrMethod").val()
	} ;
	//重置SessionStrage数据
	SessionStorage.setSearchParam(param);
}

/**
 * 获取当前请求列表
 */
function getCurrentList(pageIndex){
	//获取查询参数
	var endTime = $("#endTime").val();
	var startTime = $("#startTime").val();
	var requestURL = $("#requestURL").val().toUpperCase();
	var expName = $("#expName").val().trim().toUpperCase();
	var expClassOrMethod = $("#expClassOrMethod").val().trim().toUpperCase();
	//绑定onchange事件
	$("input[type='text']").change(function()
		{
			$("#queryForm").find("input[name='totalResult']").val(0);
		});
	var param = {
			"showCount"        :showCount,
			"currentPage"      :pageIndex,
			"endTime"          :endTime,
			"startTime"        :startTime,
			"requestURL"       :requestURL,
			"expName"          :expName,
			"expClassOrMethod" :expClassOrMethod,
			"query_condition_field_list" :"endTime,startTime,requestURL,expName,expClassOrMethod"
    };
	getDataList(param);
	//向SessionStorage存储数据
	SessionStorage.setSearchParam({
		formParam: {
			endTime: endTime,
			startTime: startTime,
			requestURL: $("#requestURL").val(),
			expName: $("#expName").val().trim(),
			expClassOrMethod: $("#expClassOrMethod").val().trim()
		},
		searchParam: param
	});
}
/**
 * 获取最近一次的列表
 * 从SessionStorage中获取参数
 */
function getLastestListAndForm(){
	//获取参数
	var param = SessionStorage.getSearchParam(),
		//表单参数
		formParam = param.formParam,
		//搜索参数
		searchParam = param.searchParam;
	//表单渲染
	$("#endTime").val(formParam.endTime);
	$("#startTime").val(formParam.startTime);
	$("#requestURL").val(formParam.requestURL);
	$("#expName").val(formParam.expName);
	$("#expClassOrMethod").val(formParam.expClassOrMethod);
	//列表获取
	getDataList(searchParam);
	//向SessionStorage存储数据
	SessionStorage.setSearchParam({
		formParam: formParam,
		searchParam: searchParam
	});
}











